// 加载数据库模块
var mysql = require('mysql');

// 获取创建连接对象
var conn = mysql.createConnection({
    host: '127.0.0.1',   //  连接主机
    user: 'root',        //  用户名
    password: 'root',    //  密码
    database: 'php71',   //  数据库

})

// 打开连接
conn.connect();

// 回调函数，输出模块数据
module.exports = {
    wh:'',
    where(wh){
        this.wh=wh;
        return this;
    },

    // 链式操作，单个查询
    select(callback) {
        // 判断wh有没有值，
        // 有值，证明调用where条件为大呢查询，没有值，代表查询所有数据
        if(this.wh==''){
            var sql="select * from users";
        }else{
            var sql="select * from users where "+this.wh;
        }
        // 查询执行sql语句
        conn.query(sql,(err, sql_data)=>{
            callback(sql_data);
        });
        // 在sql执行后将wh清空
        this.wh='';
    },

    // 修改数据
    update(data, callback) {
        // 如果wh没有值，
        if (this.wh == '') {
            callback(0);
        } else {
            var set = '';
            for (k in data) {
                set += k + "='" + data[k] + "',";
            }
            set=set.slice(0,-1);
            var sql="update users set "+set+" where "+this.wh;
            this.wh='';
        }
        // 查询执行sql语句
        conn.query(sql,(err, sql_data)=>{
            callback(sql_data.changedRows);
        });
    },

    // 删除数据
    delete(callback){
        // 判断where条件
        if(this.wh == ''){
            callback(0)
        }else{
            // 组装sql语句
            var sql = "delete from users where "+this.wh;
            // 将wh还原
            this.wh = '';
            conn.query(sql,function(err,sql_data){
                if(!err){
                    // 如果没有出错，返回数据
                    callback(sql_data.affectedRows);
                }
                
            })
        } 
    }
};


